package com.scrm.server.wx.cp.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.scrm.api.wx.cp.entity.WxFissionContact;
import com.scrm.api.wx.cp.entity.WxFissionCustomer;
import com.scrm.api.wx.cp.vo.FissionInviteConditionVO;
import com.scrm.api.wx.cp.vo.WxFissionCustomerVO;

/**
 * 企微应用宝-客户信息 服务类
 * @author xxh
 * @since 2022-03-21
 */
public interface IWxFissionCustomerService extends IService<WxFissionCustomer> {

    /**
     * 校验是否存在
     * @author xxh
     * @date 2022-03-21
     * @param id 企微应用宝-客户信息id
     * @return com.scrm.api.wx.cp.entity.WxFissionCustomer
     */
    WxFissionCustomer checkExists(String id);

    /**
     * （活动数据）查询邀请详情列表的数据（id传那个extCustomerId）
     * @param dto
     * @return
     */
    IPage<WxFissionCustomerVO> getInviteDetails(FissionInviteConditionVO dto);

    /**
     * 更新客户流失状态
     * @param extCorpId
     * @param staffExtId
     */
    void updateCustomerLose(String extCorpId, String customerExtId, String extStaffId);

    /**
     * 客户添加事件
     * @param extCorpId         企业id
     * @param extCustomerId     客户extId
     */
    void refreshCustomer(String extCorpId, String extCustomerId, String extStaffId, Boolean isNewCustomer, WxFissionContact contact);
}
